// pages/personal/personal.js
import request from '../../utils/request'
//手指按下坐标
let startY = 0
 //手指抬起坐标
 let endY = 0
 //手指移动距离
 let distanceY = 0 
 
Page({
  //手指戳一下
  handlerStart(e){
    //重置缓动效果
    this.setData({
        convertTransition:''
    })
     //记录手指初次按下的纵坐标
    startY = e.touches[0].clientY
  },
    //手指划一下
    handlerMove(e){
    //记录手指滑动后的纵坐标
        endY = e.touches[0].clientY
        //计算移动距离
        distanceY = endY - startY
        //限制滑动距离
        if(distanceY <= 0){
            distanceY = 0
            return
        }
        if(distanceY >= 80){
            distanceY = 80
        }
        //设置滑动的距离和缓动效果
        this.setData({
            convertTransform:`translateY(${distanceY}rpx)`
        })
    },
    //手指头抬起
    handlerEnd(){
      //还原移动距离
      this.setData({
        convertTransform:`translateY(0rpx)`,
        convertTransition:'transform 1s linear'
      })
    },
    /**
     * 页面的初始数据
     */
    data: {
        convertTransform:'translateY(0rpx)',//滑动的距离
        convertTransition:'',//缓动效果
        userInfo:{}//用户信息对象
    },
 // 去登录页面
    toLogin(){
     //先获取用户信息，判断用户信息是否存在，
    const { userInfo } = this.data
    if(!userInfo.nickname){
        wx.navigateTo({ //若是没有登录，跳转到登录页面
            url:'/pages/login/login'
        })
    }
     
 },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        //从缓存中读取数据
        const userInfo = wx.getStorageSync('userInfo')
        //判断缓存数据是否存在
        if(userInfo){
          //更新数据
          this.setData({
              userInfo:JSON.parse(userInfo)
          })
          //此时的用户信息是存在的，获取最近的播放记录数据
          this.getRecentListData(this.data.userInfo.userId)
        }        

    },
    //获取最近的播放记录数据
    async getRecentListData(uid){
        const result = await request('/user/record',{uid, type:1})
         let index = 0
         const recentListData = result.weekData.slice(0,10).map(item=>{
             item.id = index ++
             return item
         })
         //更新数据
         this.setData({
             recentList:recentListData
         })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})